package com.hiultra.archive.mapper;

import java.util.List;
import com.hiultra.archive.domain.ArcCheck;
import com.hiultra.archive.domain.ArcCheckDetails;

/**
 * 盘点Mapper接口
 * 
 * @author ls
 * @date 2023-09-05
 */
public interface ArcCheckMapper 
{
    /**
     * 查询盘点
     * 
     * @param checkId 盘点主键
     * @return 盘点
     */
    public ArcCheck selectArcCheckByCheckId(Long checkId);

    /**
     * 查询盘点列表
     * 
     * @param arcCheck 盘点
     * @return 盘点集合
     */
    public List<ArcCheck> selectArcCheckList(ArcCheck arcCheck);

    /**
     * 新增盘点
     * 
     * @param arcCheck 盘点
     * @return 结果
     */
    public int insertArcCheck(ArcCheck arcCheck);

    /**
     * 修改盘点
     * 
     * @param arcCheck 盘点
     * @return 结果
     */
    public int updateArcCheck(ArcCheck arcCheck);

    /**
     * 删除盘点
     * 
     * @param checkId 盘点主键
     * @return 结果
     */
    public int deleteArcCheckByCheckId(Long checkId);

    /**
     * 批量删除盘点
     * 
     * @param checkIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteArcCheckByCheckIds(Long[] checkIds);

    /**
     * 批量删除资产盘点子
     * 
     * @param checkIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteArcCheckDetailsByCheckIds(Long[] checkIds);
    
    /**
     * 批量新增资产盘点子
     * 
     * @param arcCheckDetailsList 资产盘点子列表
     * @return 结果
     */
    public int batchArcCheckDetails(List<ArcCheckDetails> arcCheckDetailsList);
    

    /**
     * 通过盘点主键删除资产盘点子信息
     * 
     * @param checkId 盘点ID
     * @return 结果
     */
    public int deleteArcCheckDetailsByCheckId(Long checkId);
}
